package day21.homework;

import java.util.ArrayList;

/**
 * 去重测试类
 * 该类演示了如何使用contains()方法去除ArrayList中的重复元素
 * 主要功能是创建一个包含重复字符串的列表，然后通过去重方法获得不包含重复元素的新列表
 */
public class test5 {
    /**
     * 程序入口方法
     * 演示ArrayList去重功能的使用
     * @param args 命令行参数
     */
    public static void main(String[] args) {
        // 创建一个包含重复字符串的ArrayList
        ArrayList<String> list = new ArrayList<>();
        list.add("hello");
        list.add("world");
        list.add("java");
        list.add("hello");
        list.add("test");
        list.add("world");
        
        System.out.println("去重前：" + list);
        
        // 调用去重方法
        ArrayList<String> uniqueList = removeDuplicates(list);
        
        System.out.println("去重后：" + uniqueList);
    }
    
    /**
     * 使用contains()方法去除ArrayList中的重复字符串
     * 该方法通过遍历原集合，将不重复的元素添加到新集合中实现去重功能
     * @param list 需要去重的字符串集合
     * @return 去重后的字符串集合
     */
    public static ArrayList<String> removeDuplicates(ArrayList<String> list) {
        // 创建用于存储去重结果的新集合
        ArrayList<String> result = new ArrayList<>();
        
        // 遍历原集合中的每个元素
        for (String str : list) {
            // 如果结果集合中不包含当前元素，则添加到结果集合中
            if (!result.contains(str)) {
                result.add(str);
            }
        }
        // 返回去重后的集合
        return result;
    }
}